#ifndef SRC_LTPANIC_H_
#define SRC_LTPANIC_H_

#include "src/ltbase.h"

/** Panic是不可恢复的错误。

程序可以注册「一个」处理函数来处理Panic。
*/
typedef void (*lt_PanicHook)(char const* message);
lt_NoReturn void lt_Panic(char const* message);
void lt_SetPanicHook(lt_PanicHook hook);

lt_NoReturn lt_ForceInline void
ltpanic_Unreachable(void) {
    lt_Panic("unreachable");
}

#endif
